package work.zhangjiaxun.day02;

import java.util.Random;
import java.util.Scanner;

//冒泡排序 比较相邻的元素。如果第一个比第二个大，就交换他们两个。
public class BubbleSort {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        //创建随机数组
        int[] n=new int[10];

        System.out.println("冒泡排序随机数组，您有三种选择:1、系统给定随机数组 2、用户输入随机数组 3、程序生成随机数组 100以内随机整数");
        System.out.print("请选择您想要使用的方式：");
        int w = s.nextInt();
        switch (w){

            //1、给定随机数组
            case 1:
                n=new int[]{1,5,8,2,3,9,4};
                break;

            case 2://2、用户输入随机数组
                for(int i=0;i<10;i++){
                    System.out.print("请输入第"+(i+1)+"位数字：");
                    int r = s.nextInt();
                    n[i]=r;
                }
                break;

            case 3://3、程序生成随机数组 100以内随机整数
                for(int i=0;i<10;i++){
                    Random random = new Random();
                    int r = random.nextInt(100);
                    System.out.println("系统随机生成的第"+(i+1)+"位数字："+r);
                    n[i] = r;
                }
                break;

        }

        //进行排序
        //循环需进行length-1次
        for(int i=0;i<n.length-1;i++){
            // 比较相邻两个元素，较大的数往后冒泡
            for(int j=0;j<n.length-1-i;j++){
                //交换数字
                if(n[j]>n[j+1]){
                    int temp=n[j];
                    n[j]=n[j+1];
                    n[j+1]=temp;
                }
            }
        }
        System.out.println("排序结果为:");
        for (int j : n) System.out.print(j + " ");
    }
}
